In recent years, cellular or personal communication service type mobile devices have emerged as a must-have appliance among mobile professionals and consumers alike, growing in popularity every year since they were first introduced. The public has come to accept that mobile communication service enhances business and personal communications and may contribute to personal security. Consequently, mobile communication is becoming increasingly popular. Although originally designed and deployed to offer voice-grade telephone services, more recently the mobile stations and the networks that provide service through them have offered an expanding array of data communication services and other related services.
Manufacturers have developed wireless devices, such as cellular telephones, with increasing processing power, fast approaching the computing capabilities of devices such as personal computers and personal digital assistants (“PDAs”). Because of this increased processing power, mobile stations actually can be programmed to perform a wide range of application functions, for example related to tools for productivity enchantment, gaming, entertainment and the like. However, due to their small size, the program storage capacity of the mobile station typically is quite limited.
A number of different vendors have developed competing approaches to downloading application software into the mobile stations. Generally, the mobile station has embedded software, including an operating system and an application program interface (API). Although the station hardware and/or the operating system may be unique and even proprietary, the API is a published standard. As a result, virtually any software developer can write application programming to the API, and the application program will run properly on all mobile stations implementing the API. Qualcomm products, for example, utilize the binary runtime environment for wireless (“BREW”) as the API. Java 2 Platform, Micro Edition (J2ME™) is another runtime environment targeted to a wide range of consumer products, which some cellular telephone developers are utilizing for the standardized API.
Based on these APIs, a number of the carriers, vendors and third parties are now offering application downloading as an additional pay service, through the wireless networks. Mobile station users can customize their wireless telephones through the selective downloading of applications of interest, such as games, printed media, stock updates, news, or any other type of information or application that is available for download through the wireless network. The user pays for the downloaded software as well as any airtime used for the download. Many of the applications, such as games and calendar programs, are run on the station off-line, without ongoing communications through the wireless network. Some of the downloaded applications, however, stock or news update routines for example, use the communication capabilities of the mobile station and the network to implement at least some ongoing application functionality.
To offer product software downloading as a commercial service, the carrier or a third party vendor operates an application download server (ADS) on a packet-switched data network, which is accessible by a data call from a compatible mobile station. In general, a user having a mobile station with an API and having subscribed to the download service initiates a data call through the network to the ADS. After log-in, the station receives and displays one or a series of menus listing available applications. The user views the list of available applications and makes a selection, which the mobile station communicates through the network to the ADS server. The server then transmits the selected application through the network to the mobile station, and the mobile station stores the new program in memory. Subsequently, the processor of the mobile station calls-up and executes the downloaded application program, for example, allowing the user to play a new game on the mobile station.
Such download services are gaining in availability and popularity; and software developers are rapidly providing a wealth of new applications. To date, software sold on such platforms is presented as an identical list or menu tree for all users with the same type of mobile station (client). Every user must look through a long list of all applications to find each individual item that may be interesting to her or him. As the number of applications and/or downloadable content available on a given service increases, so to does the length of the menu, and this menu for software-product selection becomes less and less effective.
Hence, a need exists for a more convenient way to offer available software to mobile station users for selection and downloading.